;##################################
;命令：
;nasm -f elf64 day8_0struct_0data.asm -o main.o && gcc main.o -o main -lc -no-pie && ./main
;输出：
;id = 1, name = 于潇洋
;##################################
extern printf

;#################################################
section .data
	msg: db `id = %d, name = %s\n`, 0

	struc student
	.id: resd 1
	.name: resb 32
	endstruc

stu1:
	istruc student
	at student.id, dd 1
	at student.name, db '于潇洋', 0
	iend
;#################################################
section .text
	global main

main:
	push rbp
	mov rbp, rsp

	;打印
	mov rdi, msg
;######################################################
	movsxd rsi, dword [stu1 + student.id]
	;rdx保存的是字符串的起始内存地址
	;rdx保存的是字符串的指针char*
	;应为指针stu1 + student.name
	;而非[stu1 + student.name]
	mov rdx, stu1 + student.name
;######################################################
	call printf

	mov eax, 0
	leave
	ret
